package spaska.data.readers;

import java.util.List;

import spaska.data.Dataset;

/**
 * Interface for a class that can read certain format from a certain source and
 * build a dataset out of it.
 * 
 * @author <a href="mailto:vesko.m.georgiev@gmail.com">Vesko Georgiev<a>
 */
public interface DataReader {

	/**
	 * Adds a {@link Validator} to this input. All available validators is
	 * applied to each instance from the dataset during build process.
	 * 
	 * @param validator
	 */
	public void addValidator(Validator validator);

	/**
	 * @return the dataset from this input
	 */
	public Dataset buildDataset();

	/**
	 * @return all available validators
	 */
	public List<Validator> getValidators();

}
